Опишем имеющиеся данные:
describe(lake1)
error.dots(lake1)
cat("Матрица корреляций. Показываем только больше 0,5")
Матрица корреляций. Показываем только больше 0,5
# Calculate the correlation matrix first
lake1_cor <- cor(lake1, use = "pairwise.complete.obs")
# Get some colors
# Показываем только больше 0,5
corrplot(lake1_cor, order="original", method="square", tl.pos="lt", type="lower",
tl.col="black", tl.cex=0.6, tl.srt=45,
p.mat = 1-abs(lake1_cor), sig.level=0.50, insig = "blank")
# Testing Correlations' Significance: P-values
#corr.test(lake1, use = "pairwise.complete.obs")$p
cat("Сколько факторов выбрать?")
Сколько факторов выбрать?
# Then use that correlation matrix to create the scree plot
scree(lake1_cor, factors = FALSE)
cat("Проведём анализ с 3 факторами. Каждый объединяет хим элементы следующим образом:")
Проведём анализ с 3 факторами. Каждый объединяет хим элементы следующим образом:
#Factor analysis of the data
fa_lake1 <- fa(r = cor(lake1), nfactors = 3)
Loading required namespace: GPArotation
The determinant of the smoothed correlation was zero.
This means the objective function is not defined for the null model either.
The Chi square is thus based upon observed correlations.
In factor.scores, the correlation matrix is singular, an approximation is used
#Getting the factor loadings and model analysis
fa_lake1$loadings
Loadings:
MR1 MR2 MR3
depth -0.628 -0.286 -0.414
Li 1.010
Be 0.940
P -0.839 0.369 -0.134
Sc 1.010
Ti 1.007
V 0.963 0.114
Cr 0.840 0.347 -0.402
Mn 0.398 0.190 0.688
Co 0.828 0.296
Ni 0.947 0.130
Cu 0.356 0.124 0.688
Zn 0.148 0.771
Ga 1.009
As -0.246 0.621 -0.643
Rb 1.010
Sr 0.913 0.213
Y 0.978
Zr 1.000
Nb 1.014
Mo 0.508 0.551 0.192
Ag -0.371 0.384 0.451
Cd -0.891 0.518 0.352
Sn 0.657 0.551 -0.235
Sb -0.186 0.950
Cs 1.013
Ba 0.926 0.204
La 0.995
Ce 0.997
Pr 0.997
Nd 0.997
Sm 0.993
Eu 1.004
Gd 0.977
Tb 1.008
Dy 0.992
Ho 0.985
Er 0.986
Tm 0.962
Yb 0.981
Lu 0.990
Hf 1.011
Ta 1.014
W 0.679 0.548 0.183
Tl 0.996 -0.102
Pb 0.342 0.719 0.233
Bi 0.764 0.385 -0.101
Th 1.011 -0.105
U 0.831 0.103 0.326
MR1 MR2 MR3
SS loadings 37.659 4.307 2.613
Proportion Var 0.769 0.088 0.053
Cumulative Var 0.769 0.856 0.910
cat("1 фактор описывает данные на 76.9%
\n1+2 факторы описывают данные на 85.6%
\n1+2+3 факторы описывают данные на 91%")
1 фактор описывает данные на 76.9%
1+2 факторы описывают данные на 85.6%
1+2+3 факторы описывают данные на 91%
fa.plot(fa_lake1)
fa.diagram(fa_lake1)
cat("3D интерактивно")
3D интерактивно
fa1_scores <- factor.scores(lake1, fa_lake1)$scores
fa1_scores = as.data.frame(fa1_scores)
# 3D plot :
p <- plot_ly(fa1_scores, x = ~MR1, y = ~MR2, z = ~MR3, type="scatter3d", mode="markers")
p
Опишем имеющиеся данные:
describe(lake2)
error.dots(lake2)
cat("Матрица корреляций. Показываем только больше 0,5")
Матрица корреляций. Показываем только больше 0,5
# Calculate the correlation matrix first
lake2_cor <- cor(lake2, use = "pairwise.complete.obs")
# Get some colors
# Показываем только больше 0,5
corrplot(lake2_cor, order="original", method="square", tl.pos="lt", type="lower",
tl.col="black", tl.cex=0.6, tl.srt=45,
p.mat = 1-abs(lake2_cor), sig.level=0.50, insig = "blank")
# Testing Correlations' Significance: P-values
#corr.test(lake2, use = "pairwise.complete.obs")$p
cat("Сколько факторов выбрать?")
Сколько факторов выбрать?
# Then use that correlation matrix to create the scree plot
scree(lake2_cor, factors = FALSE)
cat("Проведём анализ с 3 факторами. Каждый объединяет хим элементы следующим образом:")
Проведём анализ с 3 факторами. Каждый объединяет хим элементы следующим образом:
#Factor analysis of the data
fa_lake2 <- fa(r = cor(lake2), nfactors = 3)
In factor.scores, the correlation matrix is singular, an approximation is used
#Getting the factor loadings and model analysis
fa_lake2$loadings
Loadings:
MR1 MR2 MR3
depth -0.504 -0.630 -0.199
Li 0.861 0.182 -0.203
Be 0.847 0.244
P -0.323 -0.645 0.102
Sc 0.394 0.263
Ti 0.881 0.157 -0.195
V 0.552 0.319 -0.121
Cr 0.774 0.246
Mn -0.289 -0.694 0.109
Co 0.798 -0.200 0.527
Ni 0.528 0.423 -0.109
Cu 0.205 0.695
Zn 0.210 0.473 0.208
Rb 0.908 0.104 -0.199
Sr 1.014 -0.278 0.114
Y 0.985
Zr 0.790 0.189
Nb 0.882 0.162 -0.175
Mo 0.586 0.200
Ag -0.236 -0.339 0.589
Cd 0.648 0.531
Sn 0.522 0.502
Sb 0.436 0.720
Cs 0.886 0.145 -0.195
Ba -0.759 0.236
La 1.041 -0.161
Ce 1.045 -0.282 0.102
Pr 1.022 -0.110
Nd 1.027 -0.105
Sm 1.026 -0.104
Eu 1.045 -0.208
Gd 1.015
Tb 0.980
Dy 0.978
Ho 0.965
Er 0.960
Tm 0.925 0.101
Yb 0.948
Lu 0.903 0.158
Hf 0.852 0.203
Ta 0.895 -0.139
W 0.213 0.618
Tl 0.786 0.286
Pb -0.114 0.783
Bi 0.698
Th 0.915 0.106 -0.181
U 0.746 0.371 -0.167
MR1 MR2 MR3
SS loadings 27.214 5.569 3.360
Proportion Var 0.579 0.118 0.071
Cumulative Var 0.579 0.697 0.769
cat("1 фактор описывает данные на 57.9%
\n1+2 факторы описывают данные на 69.7%
\n1+2+3 факторы описывают данные на 76.9%")
1 фактор описывает данные на 57.9%
1+2 факторы описывают данные на 69.7%
1+2+3 факторы описывают данные на 76.9%
fa.plot(fa_lake2)
fa.diagram(fa_lake2)
cat("3D интерактивно")
3D интерактивно
fa2_scores <- factor.scores(lake2, fa_lake2)$scores
fa2_scores = as.data.frame(fa2_scores)
# 3D plot :
p <- plot_ly(fa2_scores, x = ~MR1, y = ~MR2, z = ~MR3, type="scatter3d", mode="markers")
p
Опишем имеющиеся данные:
describe(lake3)
error.dots(lake3)
cat("Матрица корреляций. Показываем только больше 0,5")
Матрица корреляций. Показываем только больше 0,5
# Calculate the correlation matrix first
lake3_cor <- cor(lake3, use = "pairwise.complete.obs")
# Get some colors
# Показываем только больше 0,5
corrplot(lake3_cor, order="original", method="square", tl.pos="lt", type="lower",
tl.col="black", tl.cex=0.6, tl.srt=45,
p.mat = 1-abs(lake3_cor), sig.level=0.50, insig = "blank")
# Testing Correlations' Significance: P-values
#corr.test(lake3, use = "pairwise.complete.obs")$p
cat("Сколько факторов выбрать?")
Сколько факторов выбрать?
# Then use that correlation matrix to create the scree plot
scree(lake3_cor, factors = FALSE)
cat("Проведём анализ с 3 факторами. Каждый объединяет хим элементы следующим образом:")
Проведём анализ с 3 факторами. Каждый объединяет хим элементы следующим образом:
#Factor analysis of the data
fa_lake3 <- fa(r = cor(lake3), nfactors = 3)
The determinant of the smoothed correlation was zero.
This means the objective function is not defined for the null model either.
The Chi square is thus based upon observed correlations.
In factor.scores, the correlation matrix is singular, an approximation is used
#Getting the factor loadings and model analysis
fa_lake3$loadings
Loadings:
MR1 MR2 MR3
depth -0.814 0.448
Li 1.003 0.156
Be 0.340 0.766 0.458
P -0.164 0.934
Sc -0.706 0.499 -0.160
Ti 0.955 0.236
V 0.633 -0.107 0.571
Cr 0.987 0.145
Mn 0.864 -0.334
Co 0.751 0.518
Ni 0.849 0.316
Cu 0.339 0.425 0.729
Zn 0.646 -0.288 0.478
Rb 1.010
Sr 0.884 -0.102 0.261
Y -0.414 0.871
Zr 0.935
Nb 0.979 0.245 -0.143
Mo 0.502 0.740
Ag -0.201 0.447 0.482
Cd 0.762 -0.428 0.148
Sn 0.892 0.243
Sb 0.953 -0.126
Cs 1.015 -0.160
Ba 0.929 0.117
La 0.120 0.987
Ce 0.525 0.828 -0.197
Pr 0.590 0.754 -0.293
Nd 0.662 0.660 -0.351
Sm -0.172 0.813 -0.194
Eu 0.880 -0.253
Gd 0.965
Tb -0.483 0.809
Dy -0.607 0.762
Ho -0.624 0.744
Er -0.536 0.796
Tm -0.534 0.759
Yb -0.134 0.837 -0.223
Lu 0.283 0.896 -0.170
Hf 0.941
Ta 0.986 0.106
W 0.838 0.388
Tl 0.964 0.107
Pb 0.965 -0.154
Bi 0.971 -0.139
Th 0.710 0.607 -0.330
U 0.860 0.167
MR1 MR2 MR3
SS loadings 24.054 13.508 4.330
Proportion Var 0.512 0.287 0.092
Cumulative Var 0.512 0.799 0.891
cat("1 фактор описывает данные на 51.2%
\n1+2 факторы описывают данные на 79.9%
\n1+2+3 факторы описывают данные на 89.1%")
1 фактор описывает данные на 51.2%
1+2 факторы описывают данные на 79.9%
1+2+3 факторы описывают данные на 89.1%
fa.plot(fa_lake3)
fa.diagram(fa_lake3)
cat("3D интерактивно")
3D интерактивно
fa3_scores <- factor.scores(lake3, fa_lake3)$scores
fa3_scores = as.data.frame(fa3_scores)
# 3D plot :
p <- plot_ly(fa3_scores, x = ~MR1, y = ~MR2, z = ~MR3, type="scatter3d", mode="markers")
p
Опишем имеющиеся данные:
l=lakes[,48]
lakes=lakes[,-48]
describe(lakes)
error.dots(lakes)
cat("Матрица корреляций. Показываем только больше 0,5")
Матрица корреляций. Показываем только больше 0,5
# Calculate the correlation matrix first
lakes_cor <- cor(lakes, use = "pairwise.complete.obs")
# Get some colors
# Показываем только больше 0,5
corrplot(lakes_cor, order="original", method="square", tl.pos="lt", type="lower",
tl.col="black", tl.cex=0.6, tl.srt=45,
p.mat = 1-abs(lakes_cor), sig.level=0.50, insig = "blank")
# Testing Correlations' Significance: P-values
#corr.test(lakes, use = "pairwise.complete.obs")$p
cat("Сколько факторов выбрать?")
Сколько факторов выбрать?
# Then use that correlation matrix to create the scree plot
scree(lakes_cor, factors = FALSE)
cat("Проведём анализ с 3 факторами. Каждый объединяет хим элементы следующим образом:")
Проведём анализ с 3 факторами. Каждый объединяет хим элементы следующим образом:
#Factor analysis of the data
fa_lakes <- fa(r = cor(lakes), nfactors = 3)
#Getting the factor loadings and model analysis
fa_lakes$loadings
Loadings:
MR1 MR3 MR2
depth -0.266 -0.318 0.686
Li 0.935 -0.157
Be 0.911 0.160
P -0.198 0.105 0.862
Sc 0.374 -0.259 -0.566
Ti 0.897 0.114 -0.209
V 0.760 -0.243
Cr 0.779 0.248 -0.130
Mn 0.936
Co 0.690 0.284 0.545
Ni 0.100 0.826 -0.236
Cu 0.886 -0.107
Zn 0.842 0.316
Rb 0.902 0.122 -0.177
Sr 0.794 0.265 0.303
Y 1.015
Zr 0.683 0.182 -0.260
Nb 0.923 -0.224
Mo 0.892 0.224
Ag -0.163 0.598
Cd 0.240 -0.219
Sn 0.767 0.219
Sb 0.313 0.107 0.106
Cs 0.908 -0.224
Ba 0.897
La 0.997 0.193
Ce 0.877 0.196 0.329
Pr 0.989 0.200
Nd 0.995 0.192
Sm 1.014 0.156
Eu 1.014 0.209
Gd 1.018 0.100
Tb 1.003
Dy 1.014 -0.166
Ho 1.009 -0.174
Er 1.011 -0.161
Tm 1.004
Yb 1.006
Lu 1.007
Hf 0.802 0.120 -0.267
Ta 0.767 0.319 -0.148
W 0.305 0.553 -0.150
Tl 0.874 0.220
Pb 0.207 0.343
Bi 0.292 0.318
Th 0.952 -0.167
U 0.892 0.103 -0.174
MR1 MR3 MR2
SS loadings 26.451 5.397 5.340
Proportion Var 0.563 0.115 0.114
Cumulative Var 0.563 0.678 0.791
cat("1 фактор описывает данные на 56.3%
\n1+2 факторы описывают данные на 67.8%
\n1+2+3 факторы описывают данные на 79.1%")
1 фактор описывает данные на 56.3%
1+2 факторы описывают данные на 67.8%
1+2+3 факторы описывают данные на 79.1%
fa.plot(fa_lakes)
fa.diagram(fa_lakes)
cat("3D интерактивно")
3D интерактивно
fa_scores <- factor.scores(lakes, fa_lakes)$scores
fa_scores = as.data.frame(fa_scores)
fa_scores$lake = l
# 3D plot :
p <- plot_ly(fa_scores, x = ~MR1, y = ~MR2, z = ~MR3, color = ~lake, type="scatter3d", mode="markers")
p